<?php
//单利模式(防止出现多个相同对象资源)【TP5框架的单利原理】
class Container{
	//存储当前类对象
	private static $instance;
	//阻止当前类被实例化（因为实例化会自动调用构造，这里把构造修饰为受保护的，不能在外部调用，所以实现了阻止当前类被实例化）
	protected function __construct(){
		var_dump('construct');
	}
	//对象被克隆 自动触发（用private修饰，一旦克隆，就报错，从而防止被克隆）
	private function __clone(){
		//echo "对象被克隆了";
	}
	//产生当前类对象
	public static function getInstance(){
		if(!isset(static::$instance)){
			static::$instance = new static;
		}
		return static::$instance;
	}
}
$re= Container::getInstance();
$re1= Container::getInstance();
$re2= Container::getInstance();
// $re3= clone $re2;//类里有私有的防克隆方法，能防止克隆(下同)
//$re4= clone $re3;
echo "<hr>";
var_dump($re,$re1,$re2,$re3,$re4);